The present invention relates to spread-spectrum communications, and more particularly, to apparatus, methods and computer program products for acquiring spread spectrum signals.
The Global Positioning System (GPS) is a space-based navigational communications system fielded by the United States government that uses satellites and associated ground-based components to provide positional information around the earth. Advantages of this navigational system over land-based systems include worldwide and continuous coverage, which may be highly accurate regardless of weather conditions. A similar system, the Global Orbiting Navigational Satellite System (GLONASS), is operated by the Russian Federation (the former Soviet Union), and another similar system, Galileo, will soon be deployed by the European Union and the European Space Agency.
In operation, GPS satellites orbit the earth and continually emit GPS radio signals. A GPS receiver, e.g., a portable device with a GPS processor, receives the radio signals from visible satellites and measures the time that the radio signal takes to travel from the GPS satellites to the GPS receiver antenna and, from this information, calculates a range for each acquired satellite, which may be used to determine terrestrial position of the receiver. Standalone GPS receivers are widely used by military forces, mariners, hikers, and surveyors. GPS capability may also be provided in mobile communications terminals (e.g., cellular handsets) to provide position location functionality that may be used, for example, for location based services (LBS).
Ephemeris information provided in the GPS satellite radio signal typically describes the satellite's orbit and velocity, which can be used to calculate the position of a GPS receiver. Generation of an accurate positional fix by a GPS receiver typically requires the acquisition of a set of navigational parameters from the navigational data signals from at least three GPS satellites.
An acquisition process for a GPS satellite signal may involve detection of a modulation code of the spread-spectrum GPS signal, so that it can be demodulated to obtain timing and/or satellite ephemeris information. Generally, the amount of searching required to detect the code can be reduced proportionate to the amount (or accuracy) of a priori timing and/or position information the GPS receiver possesses at the start of the search. For example, if the GPS receiver has a priori information of which GPS satellites are visible and information on the trajectories of these satellites, the receiver can reduce the number of satellites for which the receiver searches and the range of Doppler shifts and/or code phase shifts the receiver searches.
Many GPS receivers are programmed with almanac data, which coarsely describes the expected satellite positions for up to one year ahead. A GPS-enabled device, such as a mobile station, may be configured to receive assistance data that enables the device to roughly estimate its position with respect to the satellites of the GPS system. For example, local time and position estimates, satellite ephemeris and clock information, and visible satellite list (which varies with the location of the mobile station) may be transmitted to such a GPS-enabled device from terrestrially based infrastructure, such as a cellular network. Such assistance data can permit a GPS receiver to expedite the signal acquisition process.
A typical GPS-enabled device includes a radio processor that downconverts a radio signal received from an antenna to an intermediate frequency (IF) signal, which is then demodulated at each of a plurality of discrete IF frequencies corresponding to a range of possible frequency errors that may be attributable to Doppler shift due to relative movement of the device and the transmitting satellite, local oscillator frequency errors, and other sources. Each of the demodulated signals is then correlated with the satellite's assigned spreading code at each of a plurality of time shifts to generate correlation information that is used to determine the timing of the satellite's spread-spectrum signal. The receiver may then use this timing information to further demodulate the satellite data signal and determine its propagation time.